home *** CD-ROM | disk | FTP | other *** search
/ Game Programming in C++ - Start to Finish / GameProgrammingS.iso / developer_install / CEGUISDK-0.4.1-VC6-Native.exe / {app} / include / elements / CEGUIListHeaderProperties.h < prev    next >
Encoding:
C/C++ Source or Header  |  2005-01-18  |  5.0 KB  |  178 lines

  1. /************************************************************************
  2.     filename:     CEGUIListHeaderProperties.h
  3.     created:    11/7/2004
  4.     author:        Paul D Turner
  5.     
  6.     purpose:    Interface to the properties for the ListHeader class.
  7. *************************************************************************/
  8. /*************************************************************************
  9.     Crazy Eddie's GUI System (http://www.cegui.org.uk)
  10.     Copyright (C)2004 - 2005 Paul D Turner (paul@cegui.org.uk)
  11.  
  12.     This library is free software; you can redistribute it and/or
  13.     modify it under the terms of the GNU Lesser General Public
  14.     License as published by the Free Software Foundation; either
  15.     version 2.1 of the License, or (at your option) any later version.
  16.  
  17.     This library is distributed in the hope that it will be useful,
  18.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  19.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  20.     Lesser General Public License for more details.
  21.  
  22.     You should have received a copy of the GNU Lesser General Public
  23.     License along with this library; if not, write to the Free Software
  24.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  25. *************************************************************************/
  26. #ifndef _CEGUIListHeaderProperties_h_
  27. #define _CEGUIListHeaderProperties_h_
  28.  
  29. #include "CEGUIProperty.h"
  30.  
  31.  
  32. // Start of CEGUI namespace section
  33. namespace CEGUI
  34. {
  35.  
  36. // Start of ListHeaderProperties namespace section
  37. /*!
  38. \brief
  39.     Namespace containing all classes that make up the properties interface for the ListHeader class
  40. */
  41. namespace ListHeaderProperties
  42. {
  43. /*!
  44. \brief
  45.     Property to access the setting for user sizing of the column headers.
  46.  
  47.     \par Usage:
  48.         - Name: ColumnsSizable
  49.         - Format: "[text]"
  50.  
  51.     \par Where [Text] is:
  52.         - "True" to indicate the column headers can be sized by the user.
  53.         - "False" to indicate the column headers can not be sized by the user.
  54. */
  55. class ColumnsSizable : public Property
  56. {
  57. public:
  58.     ColumnsSizable() : Property(
  59.         "ColumnsSizable",
  60.         "Property to get/set the setting for user sizing of the column headers.  Value is either \"True\" or \"False\".",
  61.         "True")
  62.     {}
  63.  
  64.     String    get(const PropertyReceiver* receiver) const;
  65.     void    set(PropertyReceiver* receiver, const String& value);
  66. };
  67.  
  68.  
  69. /*!
  70. \brief
  71.     Property to access the setting for user moving of the column headers.
  72.  
  73.     \par Usage:
  74.         - Name: ColumnsMovable
  75.         - Format: "[text]"
  76.  
  77.     \par Where [Text] is:
  78.         - "True" to indicate the column headers can be moved by the user.
  79.         - "False" to indicate the column headers can not be moved by the user.
  80. */
  81. class ColumnsMovable : public Property
  82. {
  83. public:
  84.     ColumnsMovable() : Property(
  85.         "ColumnsMovable",
  86.         "Property to get/set the setting for user moving of the column headers.  Value is either \"True\" or \"False\".",
  87.         "True")
  88.     {}
  89.  
  90.     String    get(const PropertyReceiver* receiver) const;
  91.     void    set(PropertyReceiver* receiver, const String& value);
  92. };
  93.  
  94.  
  95. /*!
  96. \brief
  97.     Property to access the setting for user modification of the sort column & direction.
  98.  
  99.     \par Usage:
  100.         - Name: SortSettingEnabled
  101.         - Format: "[text]"
  102.  
  103.     \par Where [Text] is:
  104.         - "True" to indicate the user may modify the sort column and direction by clicking the header segments.
  105.         - "False" to indicate the user may not modify the sort column or direction.
  106. */
  107. class SortSettingEnabled : public Property
  108. {
  109. public:
  110.     SortSettingEnabled() : Property(
  111.         "SortSettingEnabled",
  112.         "Property to get/set the setting for for user modification of the sort column & direction.  Value is either \"True\" or \"False\".",
  113.         "True")
  114.     {}
  115.  
  116.     String    get(const PropertyReceiver* receiver) const;
  117.     void    set(PropertyReceiver* receiver, const String& value);
  118. };
  119.  
  120.  
  121. /*!
  122. \brief
  123.     Property to access the sort direction setting of the list header.
  124.  
  125.     \par Usage:
  126.         - Name: SortDirection
  127.         - Format: "[text]"
  128.  
  129.     \par Where [Text] is one of:
  130.         - "Ascending"
  131.         - "Descending"
  132.         - "None"
  133. */
  134. class SortDirection : public Property
  135. {
  136. public:
  137.     SortDirection() : Property(
  138.         "SortDirection",
  139.         "Property to get/set the sort direction setting of the header.  Value is the text of one of the SortDirection enumerated value names.",
  140.         "None")
  141.     {}
  142.  
  143.     String    get(const PropertyReceiver* receiver) const;
  144.     void    set(PropertyReceiver* receiver, const String& value);
  145. };
  146.  
  147.  
  148. /*!
  149. \brief
  150.     Property to access the current sort column (via ID code).
  151.  
  152.     \par Usage:
  153.         - Name: SortColumnID
  154.         - Format: "[uint]".
  155.  
  156.     \par Where:
  157.         - [uint] is any unsigned integer value.
  158. */
  159. class SortColumnID : public Property
  160. {
  161. public:
  162.     SortColumnID() : Property(
  163.         "SortColumnID",
  164.         "Property to get/set the current sort column (via ID code).  Value is an unsigned integer number.",
  165.         "0")
  166.     {}
  167.  
  168.     String    get(const PropertyReceiver* receiver) const;
  169.     void    set(PropertyReceiver* receiver, const String& value);
  170. };
  171.  
  172. } // End of  ListHeaderProperties namespace section
  173.  
  174. } // End of  CEGUI namespace section
  175.  
  176.  
  177. #endif    // end of guard _CEGUIListHeaderProperties_h_
  178.